The Conditional (Ternary) Operator
কন্ডিশনাল অপারেটর হল শর্তসাপেক্ষ যদি...অন্যথা বিবৃতি লেখার একটি সংক্ষিপ্ত উপায়।
এটিকে টারনারি অপারেটর বলা হয় কারণ এটি তিনটি অপারেন্ড নেয়।
Example 1: Age Check
বয়সের মান < 18 হলে, পাঠ্যের মান "মাইনর" এ সেট করুন, অন্যথায় "প্রাপ্তবয়স্ক":
let text = (age < 18) ? "Minor" : "Adult";
Ternary Version
let text = (age < 18) ? "Minor" : "Adult";
Equivalent if...else
let text;
if (age < 18) {
text = "Minor";
} else {
text = "Adult";
}
Example 2: Member Discount
Member (true)
let isMember = true;
let discount = isMember ? 0.2 : 0;
Result: discount = 0.2 (20% discount)
Non-Member (false)
let isMember = false;
let discount = isMember ? 0.2 : 0;
Result: discount = 0 (no discount)
Syntax
(condition) ? expression1 : expression2
দ্রষ্টব্য:
শর্তসাপেক্ষ (টার্নারি) অপারেটর হল একমাত্র জাভাস্ক্রিপ্ট অপারেটর যা তিনটি অপারেটর নেয়।
Parameters
| Parameter | Description |
|---|---|
| condition | প্রয়োজনীয় পরীক্ষা করার শর্ত। একটি অভিব্যক্তি যা সত্য বা মিথ্যা মূল্যায়ন করে। |
| ? | প্রয়োজনীয় একটি অপারেটর যা একটি অভিব্যক্তি থেকে একটি শর্তকে পৃথক করে। |
| expression1 | প্রয়োজনীয় শর্ত সত্য হলে যে মানটি ফেরত দিতে হবে। |
| : | প্রয়োজনীয় অপারেটর যা এক্সপ্রেশন আলাদা করে। |
| expression2 | প্রয়োজনীয় শর্ত মিথ্যা হলে যে মানটি ফেরত দিতে হবে। |
More Examples
Ternary Operator
// Check if number is even or odd
let number = 7;
let type = (number % 2 === 0) ? "Even" : "Odd";
// Find maximum of two numbers
let a = 5, b = 10;
let max = (a > b) ? a : b;
// Simple login check
let isLoggedIn = true;
let message = isLoggedIn ? "Welcome back!" : "Please login";
Equivalent if...else
// Check if number is even or odd
let number = 7;
let type;
if (number % 2 === 0) {
type = "Even";
} else {
type = "Odd";
}
// Find maximum of two numbers
let a = 5, b = 10;
let max;
if (a > b) {
max = a;
} else {
max = b;
}
// Simple login check
let isLoggedIn = true;
let message;
if (isLoggedIn) {
message = "Welcome back!";
} else {
message = "Please login";
}
সর্বোত্তম অনুশীলন:
টারনারি অপারেটর সহজ যদি...অন্য অবস্থার জন্য দুর্দান্ত। জটিল যুক্তি বা একাধিক লাইনের জন্য রেগুলার if...else স্টেটমেন্ট ব্যবহার করুন।
Browser Support
() ? x : yএকটি ES1 বৈশিষ্ট্য (জাভাস্ক্রিপ্ট 1997)।
| Browser | Support |
|---|---|
| Chrome | Yes |
| Internet Explorer | Yes |
| Edge | Yes |
| Firefox | Yes |
| Safari | Yes |
| Opera | Yes |
এটি সমস্ত ব্রাউজারে সম্পূর্ণরূপে সমর্থিত।
Exercise
নিম্নলিখিত টারনারি অপারেটর এক্সপ্রেশনের ফলে ভেরিয়েবল 'স্ট্যাটাস'-এর মান কী হবে?
let score = 75;
let status = (score >= 60) ? "Pass" : "Fail";